/**
 * 
 */
package com.code.google.p.jyve.berekeningen;

/** 
 * @author Boudewijn
 */
class SterkeBerekening extends AbstractBerekening {

	/* (non-Javadoc)
	 * @see com.code.google.p.jyve.Berekening#berekenVanuitTitrant(double)
	 */
	@Override
	public double berekenVanuitTitrant(double titrant) {
		double pH = 7;
		double volTot = (mVolumeOplossing + titrant) / 10e3;
		
		if (mMolariteitOplossing * mVolumeOplossing > mMolariteitTitrant * titrant){
			pH = -1 * Math.log10((mMolariteitOplossing * mVolumeOplossing/10e3 + 10e-7 * mVolumeOplossing/10e3 - mMolariteitTitrant * titrant/10e3) / (volTot));
		}
		else if (mMolariteitOplossing * mVolumeOplossing < mMolariteitTitrant * titrant){
			pH = 14 + Math.log10((mMolariteitTitrant * titrant/10e3 - mMolariteitOplossing * mVolumeOplossing/10e3 - 10e-7 * mVolumeOplossing/10e3) / (volTot));
		}
		else{
			pH = 7;
		}
		
		if (mTypeStof == BASE) pH = 14 - pH;
		return pH;
	}
}
